1. Field of the Invention
This invention relates generally to communication systems, and, more particularly, to wireless communication systems.
2. Description of the Related Art
Modern communication systems are a tightly integrated mixture of networks that may provide connectivity over wired and/or wireless interfaces. For example, the Internet Protocol (IP) may be used to allow endpoint devices to communicate over heterogeneous networks. The endpoints may include mobile devices, such as cellular telephones, personal data assistants, smart phones, paging devices, text messaging devices, network interface cards, laptop computers, and the like. The endpoints may also include stationary devices such as desktop computers, televisions, videoconferencing devices, hardware IP phones, embedded devices, software phones and the like. The capabilities of the networks and the endpoint devices have evolved, and are expected to continue to evolve, to support more sophisticated types of communication. For example, current and future networks and endpoint devices may be used for IP-based multimedia streaming applications like Video on Demand (VoD) and real-time applications like interactive video games, video-conferencing, and video surveillance.
Mobile devices and stationary endpoints have complementary strengths and weaknesses. Mobile devices typically provide the convenience of mobility but have limited capability compared to stationary devices; e.g., smaller screens and less computing power than stationary devices. As mobile devices improve and include more enhanced capabilities for IP-based multimedia communications, they may still remain limited (relative to stationary devices) in terms of bandwidth, display size, computational power, and battery life. Stationary IP multimedia endpoints typically provide larger screens (which may have higher resolution, better color response, and the like), network bandwidth, and computing power, but they offer limited mobility. Users of mobile devices and/or stationary endpoints usually respond to these limitations by selecting the type of device that is most appropriate for their current needs and accepting the limitations of this choice. For example, a user that expects to begin a video conference in the office but expects to have to leave the office halfway through the videoconference may select a mobile unit (and the corresponding small display size and poor audio quality) in order to be able to participate in the entire video conference. Alternatively, the user may select a stationary device to provide a larger display size and better audio quality but may not be able to participate in the entire video conference.
The proliferation of IP-based multimedia capable devices and increasingly ubiquitous wireless access has created more opportunities for interaction among devices, both static and mobile. In particular, session mobility allows a user to transfer an ongoing session from one device to another device so that more than one device may be used concurrently or interchangeably during a single session, potentially combining the advantages of both devices. For example, continuity of a mobile device user's multimedia experience may be maintained by transferring the session from the mobile device to another device in some situations, e.g., when the mobile unit's battery is almost discharged or when the user wants to use a target device with a larger display, a higher bandwidth and/or lower cost network. For another example, an existing session may be transferred from a stationary device to a mobile unit when a user leaves home or the office.
FIG. 1 conceptually illustrates one proposed method 100 for transferring the stream endpoints of a session to another device. In the illustrated embodiment, a Mobile Node (MN) initially has a session with a Corresponding Node (CN) that is established according to the Session Initiation Protocol (SIP). The MN initiates the session transfer by sending an INVITE message (as indicated by the arrow 105) to an Audio Node (AN) requesting that a new session be established. The INVITE message includes Session Description Protocol (SDP) parameters of the CN that are currently being used in the session. After receiving the INVITE message, the AN may begin transmitting media, e.g. according to a Real-time Transport Protocol (RTP) protocol, to the CN, as indicated by the arrow 110. The AN may also send a message including various operating parameters to the MN, as indicated by the arrow 115. For example, the AN response (at 115) may contain an SDP body that includes the address and ports it will use for any media.
The MN may then send an INVITE message, which is sometimes referred to as a re-invitation message, to the CN containing the media parameters for the AN in the SDP body, as indicated by the arrow 120. For example, the re-INVITE message may include the parameters:
v=0
c=IN IP4 av_device.example.com
m=audio 4400 RTP/AVP 0
m=video 5400 RTP/AVP 34
Following the re-invitation of the CN, the CN will redirect its media streams to the address and port given for the AN in message 120, as indicated by the arrow 125. The CN also sends a response (as indicated by the arrow 130) that includes media parameters used by the CN. The parameters sent in message 130 may or may not be the same as the ones used in the existing session. The MN sends an ACK message to the CN, as indicated by the arrow 135, and an ACK message to the AN, as indicated by the arrow 140, which includes these parameters in the body if they have changed. At this point, the MN has established separate SIP session with the CN and the AN, but a media flow has been established between the CN and the AN.
A single communication session may also be split across multiple devices. For example, an audio device may be used to send and receive audio signals, and a video device may be used to send and receive video signals. FIG. 2 conceptually illustrates a conventional method 200 for splitting a session between two devices. In the illustrated embodiment, a Mobile Node (MN) initially has a session with a Corresponding Node (CN) that is established according to the Session Initiation Protocol (SIP). In order to split the session across multiple local devices, e.g. the Audio Node (AN) and the Video Node (VN) shown in FIG. 2, the MN establishes a new session with each local device through a separate INVITE request and responses from the local devices (as indicated by the arrows 205, 210, 215, 220, 225, 230).
The MN then updates the existing session with the CN by forming an SDP body that combines the media parameters received in the responses 215, 230 from the AN and VN, respectively. For example, in order to transfer an audio and video call to two devices, the MN creates an audio session with one device (the AN) and a video session with another device (the VN), and combines the SDP bodies from both to form the body of the message that is transmitted to re-INVITE the CN, as indicated by arrow 235. One example of a combined SDP body is:
v=0
m=audio 48400 RTP/AVP 0
c=IN IP4 audio_dev.example.com
m=video 58400 RTP/AVP 34
c=IN IP4 video_dev.example.com
Following the re-invitation of the CN, the CN will redirect its media streams to the addresses and ports given for the AN in message 235, as indicated by the arrows 240, 245. The CN also sends a response (as indicated by the arrow 250) that includes media parameters used by the CN in the message body. The MN sends an ACK message to the CN, as indicated by the arrow 255, and ACK messages to the AN and the VN, as indicated by the arrows 260, 265. At this point, the MN has established separate SIP sessions with the CN, the AN, and the VN, but separate media flows have been established between the CN and the AN and the CN and the VN.
Partial session transfer is a variation of the technique for splitting a communication across multiple devices. A partial session transfer results in the mobile node transmitting and receiving some media streams, but other media streams are directed to and from another local device. For example, a mobile device may transmit and receive video streams, but may transfer a portion of the session to an audio node to handle audio streams. Conventional partial session transfers are initiated by the mobile node, e.g., by transmitting an INVITE message to another local device. However, conventional networks are not capable of initiating partial session transfers.